#include <iostream>
using namespace std;
void xzpx(int a[],int n)
{
	for(int i=0;i<n-1;i++)
	{
		for(int j=i+1;j<n;j++)
		{
			if(a[i]>a[j])
			{
				int temp=a[i];
				a[i]=a[j];
				a[j]=temp;
			}
		}
	}
	for(int i=0;i<n;i++)
	{
		cout << a[i] << " ";
	}
	cout << endl;
}
void crpx(int a[],int n)
{
	for(int i=1;i<n;i++)
	{
		int j;
		for(j=0;a[j]<a[i];j++);
		int temp=a[i];
		for(int k=i;k>j;k--)
		{
			a[k]=a[k-1];
		}
		a[j]=temp;
	}
	for(int i=0;i<n;i++)
	{
		cout << a[i] << " ";
	}
	cout << endl;
}
void mppx(int a[],int n)
{
	for(int i=1;i<n;i++)
	{
		for(int j=0;j<n-i;j++)
		{
			if(a[j]>a[j+1])
			{
				int temp=a[j];
				a[j]=a[j+1];
				a[j+1]=temp;			
			}
		}
	}
	for(int i=0;i<n;i++)
	{
		cout << a[i] << " ";
	}
	cout << endl;
}
int main()
{
	int a[100];
    int n;
	cin >> n;
	for(int i=0;i<n;i++)
	{
		cin >> a[i];
	}
	xzpx(a,n);
	crpx(a,n);
	mppx(a,n);
	return 0;
}
